using System;
using UnityEngine;

[Serializable]
public class Level : ILevelProgress
{
	[NonSerialized]
	private int _worldId;

	[NonSerialized]
	private int _worldLevelId;

	[SerializeField]
	private byte _stars;

	[SerializeField]
	private int _absoluteLevelId;

	[SerializeField]
	private bool _isLocked = true;

	[SerializeField]
	private bool _haveCrown;

	[SerializeField]
	private bool _playedThisLevel;

	public byte Stars
	{
		get
		{
			return _stars;
		}
		set
		{
			_stars = value;
		}
	}

	public int WorldLevelId
	{
		get
		{
			return _worldLevelId;
		}
		set
		{
			_worldLevelId = value;
		}
	}

	public bool IsLocked
	{
		get
		{
			return _isLocked;
		}
		set
		{
			_isLocked = value;
		}
	}

	public bool HaveCrown
	{
		get
		{
			return _haveCrown;
		}
		set
		{
			_haveCrown = value;
		}
	}

	public int AbsoluteLevelId
	{
		get
		{
			return _absoluteLevelId;
		}
		set
		{
			_absoluteLevelId = value;
		}
	}

	public bool PlayedThisLevel
	{
		get
		{
			return _playedThisLevel;
		}
		set
		{
			_playedThisLevel = value;
		}
	}

	public int WorldId
	{
		get
		{
			return _worldId;
		}
		set
		{
			_worldId = value;
		}
	}

	public Level(int absoluteLevelId)
	{
		AbsoluteLevelId = absoluteLevelId;
	}
}
